﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using SOAPIncidente.Dominio;

namespace SOAPIncidente
{
    [ServiceContract]
    public interface IIncidentes
    {
        [OperationContract]
        Incidente CrearIncidente(int cliente,
                                    int servicio,
                                    string tipo,
                                    string estado,
                                    int tecnico,
                                    DateTime fechaTicket,
                                    DateTime fechaCierre,
                                    string solucion, string descripcion, string evaluacion, string comentarioSolucion);
        [OperationContract]
        Incidente ObtenerIncidente(int nroTicket);
        [OperationContract]
        Incidente ModificarIncidente(int nroTicket, int cliente, int servicio, string tipo, string estado, int tecnico, DateTime fechaTicket,
            DateTime fechaCierre, string solucion, string descripcion, string evaluacion, string comentarioSolucion);
        [OperationContract]
        void EliminarIncidente(int nroTicket);
        [OperationContract]
        List<Incidente> ListarIncidente();

        [OperationContract]
        void CrearIncidenteEnCola(int cliente,
                                    int servicio,
                                    string tipo,
                                    string estado,
                                    int tecnico,
                                    DateTime fechaTicket,
                                    DateTime fechaCierre,
                                    string solucion, string descripcion, string evaluacion, string comentarioSolucion);

        [OperationContract]
        int ObtenerCantidadColas();

        [OperationContract]
        void DespacharColas();          

    }
}